/**
 * Buttons. 
 * 
 * Click on one of the shapes to change
 * the background color. This example
 * demonstates a class for buttons.
 */

color currentcolor;

//CircleButton circle1, circle2, circle3;
//RectButton rect1, rect2;
String format = null;
boolean locked = false;
int resultTime, reactionTime = 0;


void prints(){ println(format);}
void reset(){
format = "In Reset function, we set Reaction Time and Total Time to 0, resulting in the LED turning off";
prints();
}

void step2(){
format="Select which LED of the three stages to turn on";
prints();
}

void step3(){format="Press switch to ready person before pressing GO.  Wait X seconds before proceeding";prints();}
void step4(){format="Press GO, start simulation then proceed on to display light color choosen";prints();}
void step5(){format="Person reacts by stepping off switch; capture time at this instance";prints();}
void step6(){format="Bream beam, send signal to arduino and then caputure time at this point";prints();}
void step7(){format="stop simulation, display times on lcd and monitor, and then automatically reset";prints();}

/*Variables
Reaction Time
Total Time
Go Button
Reset(?)
BeamBreak
Status(?)
*/

/*
Input:
Clock
Power
Ground
Go Switch
Contact Switch
PhotoSensor (Beam Breaking)
*/

/*
Output:
LCD
LEDs
Serial(Computer)
*/

/*
Arduino Uno Model
*/
void setup()
{
 println("Hi\n");
 reset();
 step2();
 step3();
 step4();
  step5();
 step6();
 step7(); }



//  size(200, 200);
//  smooth();
//
//  color baseColor = color(102);
//  currentcolor = baseColor;
//
//  // Define and create circle button
//  color buttoncolor = color(204);
//  color highlight = color(153);
//  ellipseMode(CENTER);
//  circle1 = new CircleButton(30, 100, 100, buttoncolor, highlight);
//
//  // Define and create circle button
//  buttoncolor = color(204);
//  highlight = color(153); 
//  circle2 = new CircleButton(130, 110, 24, buttoncolor, highlight);
//
//  // Define and create circle button
//  buttoncolor = color(153);
//  highlight = color(102); 
//  circle3 = new CircleButton(130, 140, 24, buttoncolor, highlight);
//
//  // Define and create rectangle button
//  buttoncolor = color(102);
//  highlight = color(51); 
//  rect1 = new RectButton(150, 20, 100, buttoncolor, highlight);
//
//  // Define and create rectangle button
//  buttoncolor = color(51);
//  highlight = color(0); 
//  rect2 = new RectButton(90, 20, 50, buttoncolor, highlight);
//}
//
//void draw()
//{
//  background(currentcolor);
//  stroke(255);
//  update(mouseX, mouseY);
//  println(format);
//  format = null;
//  circle1.display();
//  circle2.display();
//  circle3.display();
//  rect1.display();
//  rect2.display();
//}
//
//void update(int x, int y)
//{
//  if(locked == false) {
//    circle1.update();
//    circle2.update();
//    circle3.update();
//    rect1.update();
//    rect2.update();
//  } 
//  else {
//    locked = false;
//  }
//  if(mousePressed) {
//    if(circle1.pressed()) {
//      currentcolor = circle1.basecolor;
//      format = "Circle 1 pressed\n";
//    } 
//    else if(circle2.pressed()) {
//      currentcolor = circle2.basecolor;
//      format = "Circle 2 pressed\n";
//    } 
//    else if(circle3.pressed()) {
//      currentcolor = circle3.basecolor;
//      format = "Circle 3 pressed\n";
//    } 
//    else if(rect1.pressed()) {
//      currentcolor = rect1.basecolor;
//      format = "Rect1 pressed\n";
//    } 
//    else if(rect2.pressed()) {
//      currentcolor = rect2.basecolor;
//      format = "rect2 pressed\n";
//    }
//  }
//}
//
//
//class Button
//{
//  int x, y;
//  int size;
//  color basecolor, highlightcolor;
//  color currentcolor;
//  boolean over = false;
//  boolean pressed = false;   
//
//  void update() 
//  {
//    if(over()) {
//      currentcolor = highlightcolor;
//    } 
//    else {
//      currentcolor = basecolor;
//    }
//  }
//
//  boolean pressed() 
//  {
//    if(over) {
//      locked = true;
//      return true;
//    } 
//    else {
//      locked = false;
//      return false;
//    }
//  }
//
//  boolean over() 
//  { 
//    return true;
//  }
//
//  boolean overRect(int x, int y, int width, int height) 
//  {
//    if (mouseX >= x && mouseX <= x+width && 
//      mouseY >= y && mouseY <= y+height) {
//      return true;
//    } 
//    else {
//      return false;
//    }
//  }
//
//  boolean overCircle(int x, int y, int diameter) 
//  {
//    float disX = x - mouseX;
//    float disY = y - mouseY;
//    if(sqrt(sq(disX) + sq(disY)) < diameter/2 ) {
//      return true;
//    } 
//    else {
//      return false;
//    }
//  }
//}
//
//class CircleButton extends Button
//{ 
//  CircleButton(int ix, int iy, int isize, color icolor, color ihighlight) 
//  {
//    x = ix;
//    y = iy;
//    size = isize;
//    basecolor = icolor;
//    highlightcolor = ihighlight;
//    currentcolor = basecolor;
//  }
//
//  boolean over() 
//  {
//    if( overCircle(x, y, size) ) {
//      over = true;
//      return true;
//    } 
//    else {
//      over = false;
//      return false;
//    }
//  }
//
//  void display() 
//  {
//    stroke(255);
//    fill(currentcolor);
//    ellipse(x, y, size, size);
//  }
//}
//
//class RectButton extends Button
//{
//  RectButton(int ix, int iy, int isize, color icolor, color ihighlight) 
//  {
//    x = ix;
//    y = iy;
//    size = isize;
//    basecolor = icolor;
//    highlightcolor = ihighlight;
//    currentcolor = basecolor;
//  }
//
//  boolean over() 
//  {
//    if( overRect(x, y, size, size) ) {
//      over = true;
//      return true;
//    } 
//    else {
//      over = false;
//      return false;
//    }
//  }
//
//  void display() 
//  {
//    stroke(255);
//    fill(currentcolor);
//    rect(x, y, size, size);
//  }
//}

